$(function () {
    initArtCateList()

    // 1.请求分类列表函数
    function initArtCateList() {
        $.ajax({
            method: 'get',
            url: '/my/article/cates',
            success: function (res) {
                let htmlStr = template('tpl-table', res)
                $('tbody').html(htmlStr)
            }
        })
    }
    // 2.添加类别按钮 点击事件 弹出层 
    let indexAdd = null;
    $('#btnAddCate').on('click', function () {
        indexAdd = layer.open({
            type: 1,
            area: ['500px', '250px'],
            title: '添加文章分类',
            // 使用模板引擎 
            content: $('#dialog-add').html()
        })
    })
    // 3.委托事件 
    $('body').on('submit', '#form-add', function (e) {
        e.preventDefault()
        $.ajax({
            method: 'post',
            url: '/my/article/addcates',
            data: $(this).serialize(),
            success: function (res) {
                if (res.status != 0) return layer.msg('新增分类失败！')
                initArtCateList()
                layer.msg('新增分类成功！')
                // 删除弹出层 
                layer.close(indexAdd)
            }
        })
    })

    // 4.编辑按钮 点击事件 弹出层   
    let indexEdit = null;
    $('tbody').on('click', '.btn-edit', function () {
        indexEdit = layer.open({
            type: 1,
            area: ['500px', '250px'],
            title: '修改文章分类',
            // 使用模板引擎 
            content: $('#dialog-edit').html()
        })
        // 将已有的内容显示在弹出层上 
        let id = $(this).attr('data-id');
        $.ajax({
            method: 'get',
            url: '/my/article/cates/' + id,
            success: function (res) {
                layui.form.val('form-edit', res.data)
            }
        })
    })
    // 5.修改分类 
    $('body').on('submit', '#form-edit', function (e) {
        e.preventDefault()
        $.ajax({
            method: 'post',
            url: '/my/article/updatecate',
            data: $(this).serialize(),
            success: function (res) {
                if (res.status != 0) return layer.msg('更新分类数据失败！')
                initArtCateList()
                layer.msg('更新分类数据成功！')
                // 删除弹出层 
                layer.close(indexEdit)
                initArtCateList() // 显示到页面上 
            }
        })
    })
    // 6.删除操作 
    $('tbody').on('click', '.btn-delete', function () {
        let id = $(this).attr('data-id');
        layer.confirm('确定删除?', { icon: 3, title: '提示' }, function (index) {
            $.ajax({
                method: 'get',
                url: '/my/article/deletecate/' + id,
                success: function (res) {
                    if (res.status != 0) return layer.msg(res.message)
                    layer.msg(res.message)

                    layer.close(index);
                    initArtCateList()
                }
            })
        });
    })
})
